//发送请求
const timeToDate = date => {
  var year = date.getFullYear();
  var month = date.getMonth() + 1;
  var day = date.getDate();
  return [year, month, day].map(formaTime).join("-");
};
const formaTime = n => {
  return n >= 10 ? n : "0" + n;
};
const checkNextDay = (day, month, year) => {
  year = year - 0;
  month = month - 0;
  day = day - 0;
  var date = new Date();
  var currentDay = date.getDate();
  var currentMonth = date.getMonth() + 1;
  var currentYear = date.getFullYear();
  if (currentDay <= day && currentMonth <= month && currentYear <= year) {
    return {
      day: formaTime(day),
      month: formaTime(month),
      year: year
    };
  } else {
    if (day == 28) {
      //当日期为28号时 只判断是否是2月
      switch (month) {
        case 2:
          if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
            day = day + 1;
          } //如果是闰年2月 日期就加一
          else {
            day = 1;
            month = month + 1;
          } //不是闰年2月 日期就变为1 月份加一
        default:
          day = day + 1;
          break;
      }
    } else if (day == 29) {
      //当日期为29号是 也是判断是否是2月
      switch (month) {
        case 2:
          day = 1;
          month = month + 1;
        default:
          day = day + 1;
          break;
      } //当29号出现必定是闰年 日期变为1 月份加一
    } else if (day == 30) {
      //当日期为30 时
      switch (month) {
        case 1:
        case 3:
        case 5:
        case 7:
        case 8:
        case 10:
        case 12:
          day = day + 1;
          break; //这些月份的时候一个月有31天 到30的时候再加一
        case 4:
        case 6:
        case 9:
        case 11:
          day = 1;
          month = month + 1;
          break; //这些月份的时候一个月有30天 到30的时候 日期变为1 月份加一
        default:
          day = day + 1;
          break;
      }
    } else if (day == 31) {
      switch (month) {
        case 1:
        case 3:
        case 5:
        case 7:
        case 8:
        case 10:
          day = 1;
          month = month + 1;
          break; //这些月份的时候一个月有31天 到31的时候 日期为1月份加一
        case 12:
          day = 1;
          month = 1;
          year = year + 1;
          break; //十二月 的 31 号 日期变为一 月份变为一 年份加一
        default:
          day = day + 1;
          break;
      }
    } else {
      day += 1;
    }
    day = formaTime(day);
    month = formaTime(month);
    return {
      day: day,
      month: month,
      year: year
    };
  }
};
const checkLastDay = (day, month, year) => {
  year = year - 0;
  month = month - 0;
  day = day - 0;
  if (day == 1) {
    //当日期为1时，再剪就会改变月份，甚至年份
    switch (month) {
      case 1:
        day = 31;
        month = 12;
        year = year - 1;
        break; //一月一日 再剪一天 年份减一 月份为12 日期为31
      case 2:
      case 4:
      case 6:
      case 8:
      case 9:
      case 11:
        day = 31;
        month = month - 1;
        break; //这些月一日 再剪一天  月份减一 日期为31
      case 3:
        if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
          day = 29;
          month = month - 1;
        } else {
          day = 28;
          month = month - 1;
        }
        break; //三月一日 再剪一天  月份减一 日期为根据是否是闰年来判断 日期
      case 5:
      case 7:
      case 10:
        day = 30;
        month = month - 1;
        break; //这些月一日 再剪一天  月份减一 日期为30
    }
  } else {
    day = day - 1;
  }
  day = day >= 10 ? day : "0" + day;
  month = month >= 10 ? month : "0" + month;
  return {
    day: day,
    month: month,
    year: year
  };
};
module.exports = {
  timeToDate: timeToDate,
  checkNextDay: checkNextDay,
  checkLastDay: checkLastDay
};
